package com.itboye.ihomebank.interfaces;

/***
 * 用户登陆注册修改相关接口类
 * 
 * @author admin
 * 
 * @param <GoodsListModel>
 */
public interface IHouseInterface<HouseBean> {
	

	
	/**
	 * 房源发布
	 * @param uid			发布人UID
	 * @param imgs			图片ID,多个,分割
	 * @param community_id	小区code
	 * @param rent_type		出租方式 : 【1=>整租,2=>合租-主卧,3=>合租-次卧】
	 * @param contact_name	联系人姓名
	 * @param contact_phone 联系人手机号码
	 * @param rent			租金,分,int
	 * @param size			面积,平米,int
	 * @param unit			户型，【1,0,0】 几室,几厅,几卫
	 * @param house_floor	楼层,int
	 * @param floors		总楼层,int
	 * @param house_decoration	装修程度,int，dtree:house_decoration
	 * @param house_pay		支付方式,多个,分割,dtree:house_pay
	 * @param house_dir		朝向，dtree:house_orientation
	 * @param address		房源详细地址
	 */
	void getHouseAdd(String uid,String imgs,String community_code,int rent_type,String contact_name,
			String contact_phone,int rent,int size,String unit,int house_floor,int floors,String house_decoration,
			String house_pay,String house_dir,String address);
	
	/***
	 * 
	 * @param uid 用户名
	 * @param fType 1：房源，2：帖子（暂无）
	 * @param favoriteId 房源ID
	 * @param status 1:添加收藏 0：删除收藏
	 */
	void collection(String uid,String fType,String favoriteId,int status);
	/****
	 * 
	 * @param cityCode 城市code
	 * @param searchText 查询文本
	 * @param areaOrZone 为空不限,区或区域
	 * @param rental 为空不限,租金 自定义查询规则 brp:大于等于多少 erp:小于等于多少 例如 brp100erp200 大于等于100小于等于200
	 * @param aceage 为空不限,面积 rba:大于等于多少 rea:小于等于多少 例如 rba100rea200 大于等于100小于等于200
	 * @param houseType 为空不限,房型
	 * @param rentType 租房类型
	 * @param decoration 为空不限,装修
	 * @param oritation 为空不限,朝向
	 * @param floor 为空不限,楼层
	 * @param source 为空不限,房源 用来查找（个人，经纪人）
	 * @param houseTag 
	 * @param order   为空不限,排序
	 * @param perPage 每页条数，默认10条一页
	 * @param currentPage 页码，默认第一页
	 */
	void queryHouse(String cityCode,String searchText,String areaOrZone,String rental,String aceage,String houseType,String rentType,String decoration,String oritation,String floor,String source,String houseTag,String order,String perPage,String currentPage);
	
	/***
	 * 
	 * @param cityCode
	 */
	void getAreaByCityCode(String cityCode);
	/***
	 * 
	 * @param houseNo  房源编号
	 * @param isLogin  是否已登陆(登陆才返回联系电话) 0:否1:是
	 */
	void queryHouseDetail(String houseNo,String uid);
	
	/***
	 * 申请签约
	 * @param uid 用户ID
	 * @param houseNo 房源编码
	 * @param remark 备注
	 * @param status 操作 0：申请 2：取消申请
	 */
	void shenQingQianYue(String uid,String houseNo,String remark,String status);
	
	/***
	 * 预约看房
	 * @param uid  用户ID
	 * @param houseNo 房源编码
	 * @param mark 备注
	 * @param status 操作 0：申请 2：取消申请
	 */
	void yuYueKanFang(String uid,String houseNo,String mark,String status,String startT,String endT);
	
	/**
	 * 我的发布
	 * @param uid 用户ID
	 */
	void getWoDeFaBu(String uid);
	
	/**
	 * 下架
	 * @param uid 用户ID
	 * @param houseNo 房源编号
	 */
	void xiajia(String uid,String houseNo);
	
	/**
	 * 上架
	 * @param uid 用户ID
	 * @param houseNo 房源编号
	 */
	void shangjia(String uid,String houseNo);
	
	/**
	 * 获取房源下级区域列表
	 * @param area_code  城区编码
	 */
	void getQuyuLieBiao(String area_code);
	
	
	/**
	 * 获取房源下级区域列表
	 * @param area_code  城区编码
	 */
	void getQuyuLieBiao02(String area_code);
	/**
	 * 选择租客
	 * @param uid  房客ID
	 * @param houseNo  房源编号
	 * @param status 1:通过、2：作废
	 */
	void xuanZuKe(String uid,String ownerUid,String houseNo,String status);
	
	/**
	 * 查看申请房源的租客
	 * @param houseNo
	 */
	void getZuKeList(String houseNo);
	
	/**
	 * 认证房源
	 * @param uid  用户ID
	 * @param houseNo 房源编号 
	 * @param pass 【0=>不通过,1=>通过】
	 * @param msg 驳回信息，default:'您的房源{house_no}未通过认证',推送用
	 */
	void fangYuanRenZheng(String uid,String houseNo,String pass,String msg);
	
	/**
	 * 我的房源
	 * @param uid
	 */
	void getMyRentHouse(String uid);
	
	/**
	 * 房源数据字典
	 * @param city_code  city编码
	 */
	void houseZiDian(String city_code);
	
	void qianYueGuanLi(String uid,String sort);
	
	/**
	 * 我的求租（房客看房申请列表）
	 * @param uid
	 */
	void getQiuZu(String uid);

	/**
	 * 获取热门搜索
	 * @param cityCode
	 */
	void getHotTag(String cityCode);
}
